<?php
/**
 * 配置管理类
 * 负责读取和保存配置
 */
class ConfigManager {
    /**
     * @var array 配置数据
     */
    private $config;
    
    /**
     * @var string 配置文件路径
     */
    private $configFile;
    
    /**
     * 构造函数
     * @param string $configFile 配置文件路径
     */
    public function __construct($configFile = 'config.php') {
        $this->configFile = $configFile;
        $this->loadConfig();
    }
    
    /**
     * 加载配置
     * @return array 配置数组
     */
    public function loadConfig() {
        $this->config = include($this->configFile);
        return $this->config;
    }
    
    /**
     * 获取配置
     * @return array 配置数组
     */
    public function getConfig() {
        return $this->config;
    }
    
    /**
     * 获取当前使用的URL配置
     * @return array URL配置
     */
    public function getCurrentUrlConfig() {
        return $this->config['url'] ?? [];
    }
    
    /**
     * 获取备用URL列表
     * @return array 备用URL列表
     */
    public function getUrlList() {
        return $this->config['list'] ?? [];
    }
    
    /**
     * 更新当前使用的URL配置
     * @param array $urlConfig URL配置
     * @return bool 是否成功
     */
    public function updateCurrentUrl($urlConfig) {
        $this->config['url'] = $urlConfig;
        return $this->saveConfig();
    }
    
    /**
     * 保存配置到文件
     * @return bool 是否成功
     */
    public function saveConfig() {
        $con = var_export($this->config, true);
        $con = "<?php\nreturn $con;\n?>";
        return file_put_contents($this->configFile, $con) !== false;
    }
}